51 research outputs found
Eye of the Mind: Image Processing for Social Coding
Developers are increasingly sharing images in social coding environments
alongside the growth in visual interactions within social networks. The
analysis of the ratio between the textual and visual content of Mozilla's
change requests and in Q/As of StackOverflow programming revealed a steady
increase in sharing images over the past five years. Developers' shared images
are meaningful and are providing complementary information compared to their
associated text. Often, the shared images are essential in understanding the
change requests, questions, or the responses submitted. Relying on these
observations, we delve into the potential of automatic completion of textual
software artifacts with visual content.Comment: This is the author's version of ICSE 2020 pape
Image-based Communication on Social Coding Platforms
Visual content in the form of images and videos has taken over
general-purpose social networks in a variety of ways, streamlining and
enriching online communications. We are interested to understand if and to what
extent the use of images is popular and helpful in social coding platforms. We
mined nine years of data from two popular software developers' platforms: the
Mozilla issue tracking system, i.e., Bugzilla, and the most well-known platform
for developers' Q/A, i.e., Stack Overflow. We further triangulated and extended
our mining results by performing a survey with 168 software developers. We
observed that, between 2013 and 2022, the number of posts containing image data
on Bugzilla and Stack Overflow doubled. Furthermore, we found that sharing
images makes other developers engage more and faster with the content. In the
majority of cases in which an image is included in a developer's post, the
information in that image is complementary to the text provided. Finally, our
results showed that when an image is shared, understanding the content without
the information in the image is unlikely for 86.9\% of the cases. Based on
these observations, we discuss the importance of considering visual content
when analyzing developers and designing automation tools
Asymmetric Release Planning-Compromising Satisfaction against Dissatisfaction
Maximizing satisfaction from offering features as part of the upcoming
release(s) is different from minimizing dissatisfaction gained from not
offering features. This asymmetric behavior has never been utilized for product
release planning. We study Asymmetric Release Planning (ARP) by accommodating
asymmetric feature evaluation. We formulated and solved ARP as a bi-criteria
optimization problem. In its essence, it is the search for optimized trade-offs
between maximum stakeholder satisfaction and minimum dissatisfaction. Different
techniques including a continuous variant of Kano analysis are available to
predict the impact on satisfaction and dissatisfaction with a product release
from offering or not offering a feature. As a proof of concept, we validated
the proposed solution approach called Satisfaction-Dissatisfaction Optimizer
(SDO) via a real-world case study project. From running three replications with
varying effort capacities, we demonstrate that SDO generates optimized
trade-off solutions being (i) of a different value profile and different
structure, (ii) superior to the application of random search and heuristics in
terms of quality and completeness, and (iii) superior to the usage of manually
generated solutions generated from managers of the case study company. A survey
with 20 stakeholders evaluated the applicability and usefulness of the
generated results
Documentation of Machine Learning Software
Machine Learning software documentation is different from most of the
documentations that were studied in software engineering research. Often, the
users of these documentations are not software experts. The increasing interest
in using data science and in particular, machine learning in different fields
attracted scientists and engineers with various levels of knowledge about
programming and software engineering. Our ultimate goal is automated generation
and adaptation of machine learning software documents for users with different
levels of expertise. We are interested in understanding the nature and triggers
of the problems and the impact of the users' levels of expertise in the process
of documentation evolution. We will investigate the Stack Overflow Q/As and
classify the documentation related Q/As within the machine learning domain to
understand the types and triggers of the problems as well as the potential
change requests to the documentation. We intend to use the results for building
on top of the state of the art techniques for automatic documentation
generation and extending on the adoption, summarization, and explanation of
software functionalities.Comment: The paper is accepted for publication in 27th IEEE International
Conference on Software Analysis, Evolution and Reengineering (SANER 2020
A Longitudinal Study of Identifying and Paying Down Architectural Debt
Architectural debt is a form of technical debt that derives from the gap
between the architectural design of the system as it "should be" compared to
"as it is". We measured architecture debt in two ways: 1) in terms of
system-wide coupling measures, and 2) in terms of the number and severity of
architectural flaws. In recent work it was shown that the amount of
architectural debt has a huge impact on software maintainability and evolution.
Consequently, detecting and reducing the debt is expected to make software more
amenable to change. This paper reports on a longitudinal study of a healthcare
communications product created by Brightsquid Secure Communications Corp. This
start-up company is facing the typical trade-off problem of desiring
responsiveness to change requests, but wanting to avoid the ever-increasing
effort that the accumulation of quick-and-dirty changes eventually incurs. In
the first stage of the study, we analyzed the status of the "before" system,
which indicated the impacts of change requests. This initial study motivated a
more in-depth analysis of architectural debt. The results of this analysis were
used to motivate a comprehensive refactoring of the software system. The third
phase of the study was a follow-on architectural debt analysis which quantified
the improvements made. Using this quantitative evidence, augmented by
qualitative evidence gathered from in-depth interviews with Brightsquid's
architects, we present lessons learned about the costs and benefits of paying
down architecture debt in practice.Comment: Submitted to ICSE-SEIP 201
Status Quo in Requirements Engineering : A Theory and a Global Family of Surveys
Requirements Engineering (RE) has established itself as a software engineering discipline over the past decades. While researchers have been investigating the RE discipline with a plethora of empirical studies, attempts to systematically derive an empirical theory in context of the RE discipline have just recently been started. However, such a theory is needed if we are to define and motivate guidance in performing high quality RE research and practice. We aim at providing an empirical and externally valid foundation for a theory of RE practice, which helps software engineers establish effective and efficient RE processes in a problem-driven manner. We designed a survey instrument and an engineer-focused theory that was first piloted in Germany and, after making substantial modifications, has now been replicated in 10 countries worldwide. We have a theory in the form of a set of propositions inferred from our experiences and available studies, as well as the results from our pilot study in Germany. We evaluate the propositions with bootstrapped confidence intervals and derive potential explanations for the propositions. In this article, we report on the design of the family of surveys, its underlying theory, and the full results obtained from the replication studies conducted in 10 countries with participants from 228 organisations. Our results represent a substantial step forward towards developing an empirical theory of RE practice. The results reveal, for example, that there are no strong differences between organisations in different countries and regions, that interviews, facilitated meetings and prototyping are the most used elicitation techniques, that requirements are often documented textually, that traces between requirements and code or design documents are common, that requirements specifications themselves are rarely changed and that requirements engineering (process) improvement endeavours are mostly internally driven. Our study establishes a theory that can be used as starting point for many further studies for more detailed investigations. Practitioners can use the results as theory-supported guidance on selecting suitable RE methods and techniques.Peer reviewe
- …